// 初始化地图
var map;

// function initMap(id) {

//     //定义地图中心点坐标
//     var center = new TMap.LatLng(39.98412, 116.307484);
//     //定义map变量，调用 TMap.Map() 构造函数创建地图
//     map = new TMap.Map(document.getElementById(id), {
//         center: center, //设置地图中心点坐标
//         zoom: 9, //设置地图缩放级别
//         pitch: 43.5, //设置俯仰角
//         rotation: 45, //设置地图旋转角度
//         showControl: false,
//         setMaxZoom: 20,
//         mapStyleId: 'style1',
//     });
//     map.setRotation(0);
//     map.setPitch(0);
//     map.setViewMode('2D');
//     return map;
// }

function initMap(id) {
    var markerCluster;
    var drawContainer = document.getElementById(id);
    var center = new TMap.LatLng(39.984104, 116.307503); //设置中心点坐标
    map = new TMap.Map(drawContainer, {
        center: center, //设置地图中心点坐标
        zoom: 18, //设置地图缩放级别
        // pitch: 43.5, //设置俯仰角
        // rotation: 45, //设置地图旋转角度
        showControl: false, //右上角放大缩小
        // setMaxZoom: 20,
        mapStyleId: 'style1',
    });

    map.setRotation(0);
    map.setPitch(45);
    map.setViewMode('3D');
    map.setBaseMap({ type: 'vector' })

    // control()

    return map;
}

function getBaseMap(type) {
    map.setBaseMap({ type: type })
}

function getViewMode(mode) {
    if (mode == '3D') {
        map.setViewMode('3D');
        map.setPitch(45); //倾斜度
    } else {
        map.setViewMode('2D');
    }
}

function control() {
    let zoom = map.getControl(TMap.constants.DEFAULT_CONTROL_ID.ZOOM);
    let rotate = map.getControl(TMap.constants.DEFAULT_CONTROL_ID.ROTATION);
    let scale = map.getControl(TMap.constants.DEFAULT_CONTROL_ID.SCALE);
    map.addControl(zoom);
    map.addControl(rotate);
    map.addControl(scale);
    zoom.setPosition(TMap.constants.CONTROL_POSITION.BOTTOM_RIGHT);
    rotate.setPosition(TMap.constants.CONTROL_POSITION.BOTTOM_RIGHT);
    scale.setPosition(TMap.constants.CONTROL_POSITION.BOTTOM_LEFT);
}

// 销毁地图
function onDestory() {
    map.destroy()
}


module.exports = {
    initMap,
    getBaseMap,
    getViewMode,
    onDestory
};